/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.easoft.code.pos.data.pojos;

import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Eliu
 */
@Entity
@Table(name = "documento_oper_tipo")
@NamedQueries({
    @NamedQuery(name = "DocumentoOperTipo.findAll", query = "SELECT d FROM DocumentoOperTipo d"),
    @NamedQuery(name = "DocumentoOperTipo.findById", query = "SELECT d FROM DocumentoOperTipo d WHERE d.id = :id"),
    @NamedQuery(name = "DocumentoOperTipo.findByNombre", query = "SELECT d FROM DocumentoOperTipo d WHERE d.nombre = :nombre"),
    @NamedQuery(name = "DocumentoOperTipo.findByTipoPersona", query = "SELECT d FROM DocumentoOperTipo d WHERE d.tipoPersona = :tipoPersona"),
    @NamedQuery(name = "DocumentoOperTipo.findByOperacionCc", query = "SELECT d FROM DocumentoOperTipo d WHERE d.operacionCc = :operacionCc"),
    @NamedQuery(name = "DocumentoOperTipo.findByOperacionInv", query = "SELECT d FROM DocumentoOperTipo d WHERE d.operacionInv = :operacionInv"),
    @NamedQuery(name = "DocumentoOperTipo.findByEstado", query = "SELECT d FROM DocumentoOperTipo d WHERE d.estado = :estado"),
    @NamedQuery(name = "DocumentoOperTipo.findByFechaExp", query = "SELECT d FROM DocumentoOperTipo d WHERE d.fechaExp = :fechaExp"),
    @NamedQuery(name = "DocumentoOperTipo.findByFechaCreado", query = "SELECT d FROM DocumentoOperTipo d WHERE d.fechaCreado = :fechaCreado"),
    @NamedQuery(name = "DocumentoOperTipo.findByDocumentoResolucion", query = "SELECT d FROM DocumentoOperTipo d WHERE d.documentoResolucion = :documentoResolucion"),
    @NamedQuery(name = "DocumentoOperTipo.findByFechaAutomatica", query = "SELECT d FROM DocumentoOperTipo d WHERE d.fechaAutomatica = :fechaAutomatica"),
    @NamedQuery(name = "DocumentoOperTipo.findByNumeroAutomatico", query = "SELECT d FROM DocumentoOperTipo d WHERE d.numeroAutomatico = :numeroAutomatico")})
public class DocumentoOperTipo implements Serializable {

    @Column(name = "operacion_generica")
    private Integer operacionGenerica;
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @Column(name = "nombre")
    private String nombre;
    @Basic(optional = false)
    @Column(name = "tipo_persona")
    private int tipoPersona;
    @Basic(optional = false)
    @Column(name = "operacion_cc")
    private int operacionCc;
    @Basic(optional = false)
    @Column(name = "operacion_inv")
    private int operacionInv;
    @Basic(optional = false)
    @Column(name = "estado")
    private int estado;
    @Column(name = "fecha_exp")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaExp;
    @Basic(optional = false)
    @Column(name = "fecha_creado")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaCreado;
    @Column(name = "documento_resolucion")
    private String documentoResolucion;
    @Basic(optional = false)
    @Column(name = "fecha_automatica")
    private int fechaAutomatica;
    @Basic(optional = false)
    @Column(name = "numero_automatico")
    private int numeroAutomatico;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "doctoOperTipo")
    private Collection<DocumentoOper> documentoOperCollection;

    public DocumentoOperTipo() {
    }

    public DocumentoOperTipo(Integer id) {
        this.id = id;
    }

    public DocumentoOperTipo(Integer id, String nombre, int tipoPersona, int operacionCc, int operacionInv, int estado, Date fechaCreado, int fechaAutomatica, int numeroAutomatico) {
        this.id = id;
        this.nombre = nombre;
        this.tipoPersona = tipoPersona;
        this.operacionCc = operacionCc;
        this.operacionInv = operacionInv;
        this.estado = estado;
        this.fechaCreado = fechaCreado;
        this.fechaAutomatica = fechaAutomatica;
        this.numeroAutomatico = numeroAutomatico;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getTipoPersona() {
        return tipoPersona;
    }

    public void setTipoPersona(int tipoPersona) {
        this.tipoPersona = tipoPersona;
    }

    public int getOperacionCc() {
        return operacionCc;
    }

    public void setOperacionCc(int operacionCc) {
        this.operacionCc = operacionCc;
    }

    public int getOperacionInv() {
        return operacionInv;
    }

    public void setOperacionInv(int operacionInv) {
        this.operacionInv = operacionInv;
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public Date getFechaExp() {
        return fechaExp;
    }

    public void setFechaExp(Date fechaExp) {
        this.fechaExp = fechaExp;
    }

    public Date getFechaCreado() {
        return fechaCreado;
    }

    public void setFechaCreado(Date fechaCreado) {
        this.fechaCreado = fechaCreado;
    }

    public String getDocumentoResolucion() {
        return documentoResolucion;
    }

    public void setDocumentoResolucion(String documentoResolucion) {
        this.documentoResolucion = documentoResolucion;
    }

    public int getFechaAutomatica() {
        return fechaAutomatica;
    }

    public void setFechaAutomatica(int fechaAutomatica) {
        this.fechaAutomatica = fechaAutomatica;
    }

    public int getNumeroAutomatico() {
        return numeroAutomatico;
    }

    public void setNumeroAutomatico(int numeroAutomatico) {
        this.numeroAutomatico = numeroAutomatico;
    }

    public Collection<DocumentoOper> getDocumentoOperCollection() {
        return documentoOperCollection;
    }

    public void setDocumentoOperCollection(Collection<DocumentoOper> documentoOperCollection) {
        this.documentoOperCollection = documentoOperCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        if (!(object instanceof DocumentoOperTipo)) {
            return false;
        }
        DocumentoOperTipo other = (DocumentoOperTipo) object;
        return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id));
    }

    @Override
    public String toString() {
        return this.nombre;
    }

    public Integer getOperacionGenerica() {
        return operacionGenerica;
    }

    public void setOperacionGenerica(Integer operacionGenerica) {
        this.operacionGenerica = operacionGenerica;
    }

}
